package com.hivekion.system.service;

import com.hivekion.common.entity.PagedResultVo;
import com.hivekion.common.entity.SearchInputVo;
import com.hivekion.common.entity.SelectOption;
import com.hivekion.system.domain.SysRole;
import com.hivekion.system.domain.vo.*;

import java.util.List;

public interface ISysRoleService {

      boolean remove(String roleId);

      boolean changeStatus(String roleId, Integer status);

      boolean edit(SysRoleUpdateInputVo inputVo);

      boolean add(SysRoleCreateInputVo inputVo);

      SysRoleModelVo getInfo(String roleId);

      PagedResultVo<SysRoleModelVo> getList(SearchInputVo inputVo);

      boolean checkRoleNameUnique(String roleId, String roleName);

      List<SelectOption> getRoleOptions();

      boolean setPermissions(SetRolePermissionVo vo);

      SysRolePermissionsModelVo getPermissions(String roleId);

      // 根据角色id查询角色
      SysRole queryRole(String roleId);

      // 根据角色name查询角色
      SysRole queryRoleByName(String roleName);
}
